package 剑指Offer;

public class Offer58I_翻转单词顺序 {
    public String reverseWords(String s) {
        s = s.trim(); // 删除首尾空格
        int r = s.length() - 1;
        int l = r;
        StringBuilder res = new StringBuilder();
        while (l >= 0) {
            //从右往左搜索到第一个空格后跳出
            while (l >= 0 && s.charAt(l) != ' ') {
                l--;
            }
            //单词和单词间要有空格
            res.append(s.substring(l + 1, r + 1)+ " ");
            // 跳过单词间空格
            while (l >= 0 && s.charAt(l) == ' ') {
                l--;
            }
            r = l;
        }
        return res.toString().trim(); // 转化为字符串并返回
    }
}
